package com.bz.backend.item.controller;

import com.bz.backend.item.service.ItemService;
import com.bz.pojo.TbItem;
import com.bz.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/backend/item")
public class ItemController {

    @Autowired
    private ItemService itemService;

    /**
     * 分页查询商品
     * @param page
     * @param size
     * @return
     */
    @GetMapping("/selectTbItemAllByPage")
    public Result selectTbItemAllByPage(@RequestParam(defaultValue = "1") Integer page,@RequestParam(defaultValue = "10") Integer size){
        try {
            return itemService.selectTbItemAllByPage(page, size);
        }catch (Exception e){
            return Result.build(500,"系统异常");
        }
    }

    /**
     * 添加商品（包括描述、商品规格参数）
     * @param tbItem
     * @param desc
     * @param itemParams
     * @return
     */
    @PostMapping("/insertTbItem")
    public Result insertTbItem(TbItem tbItem,String desc,String itemParams){
        return itemService.insertTbItem(tbItem,desc,itemParams);
    }

    /**
     * 删除商品
     * @param itemId
     * @return
     */
    @GetMapping("/deleteItemById")
    public Result deleteItemById(Long itemId){
        return itemService.deleteItemById(itemId);
    }

    /**
     * 根据商品ID查询商品，商品分类，商品描述，商品规格参数
     * @param itemId
     * @return
     */
    @GetMapping("/preUpdateItem")
    public Result preUpdateItem(Long itemId){
        return itemService.preUpdateItem(itemId);
    }

    /**
     * 更新商品
     * @param tbItem
     * @param itemDesc
     * @param itemParams
     * @return
     */
    public Result updateItem(TbItem tbItem,String itemDesc,String itemParams){
        return itemService.updateItem(tbItem,itemDesc,itemParams);
    }
}
